/**
 * @file tabDyn.h
 * @brief Fichier d'entête du module Image.
 *
 * @author Rachid Delory
 */

#ifndef H_TABDYN_H
#define H_TabDyn_H

typedef int Element;

/**
 * @struct sTabDyn
 * @brief Structure utilisée pour la gestion d'un tableau dynamique.
 *
 * Cette structure est utilisée pour gérer unun tableau dynamique.
 * Les champs de cette structures doivent être modifiés ou lus
 * par les accesseurs et mutateurs.
 */

struct sTabDyn {

  Element *adPremierEl; /*pointeur sur le premier element du tableau */
  int capacite; /* Taille totale du tableau */
  int taille; /* Taille utilisé du tableau */
} ;

/**
 * @typedef TabDyn
 * @brief Redéfinit la structure sTabDyn.
 */
typedef struct sTabDyn TabDyn ;


void initTab(TabDyn *tabDyn);

void detruireTab(TabDyn *tabDyn);

void ajoutEl(TabDyn *tabDyn, const Element ajout);

void testRegression();

#endif
